/* InvalidParametersThrower.h
 * 
 *  Author          : Alexander J. Yee
 *  Date Created    : 10/23/2018
 *  Last Modified   : 10/23/2018
 * 
 *      Lightweight header. Use this if you only need to throw and you don't
 *  want to pull in all the headers that "Exception.h" pulls in.
 * 
 */

#pragma once
#ifndef ymp_Exceptions_InvalidParametersThrower_H
#define ymp_Exceptions_InvalidParametersThrower_H
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//  Dependencies
#include "PublicLibs/CompilerSettings.h"
#include "PublicLibs/Types.h"
namespace ymp{
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
[[noreturn]] YM_NO_INLINE void throw_InvalidParametersException(const char* function);
[[noreturn]] YM_NO_INLINE void throw_InvalidParametersException(const char* function, const char* message);
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
}
#endif
